#include "main.h"
#include "func_system.h"
#include "func_buz.h"
#include "cmsis_os.h"
#include "FreeRTOS.h"
#include "task.h"
#include "queue.h"

extern xQueueHandle buz_queue;

void buz_TaskFunction(void *pvParameters)
{
  uint16_t queuedata = 0;
  GPIOParaTypeDef *para = pvParameters;
  while(1)
  {
    xQueueReceive(buz_queue,&queuedata,portMAX_DELAY);
    HAL_GPIO_WritePin(para->gpio,para->pin,GPIO_PIN_SET);
    vTaskDelay(queuedata/portTICK_RATE_MS);
    HAL_GPIO_WritePin(para->gpio,para->pin,GPIO_PIN_RESET);
    vTaskDelay(500/portTICK_RATE_MS);
  }
  vTaskDelete(NULL);
}